home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr26 / blrmu13.zip / DAFEM.ASM < prev    next >
Assembly Source File  |  1993-06-01  |  3KB  |  98 lines

  1. page ,132
  2. title dafem ( display available, free, extended memory ) 09/13/92 - 07:00 pm
  3. ;
  4. dv       equ   32
  5. crl      equ   (offset eop - sop + 15) shr 4
  6. ;
  7. code     segment para public
  8. ;
  9.          assume cs:code
  10. ;
  11.          org   0                       ; start of PSP
  12. sop      equ   $                       ; start of program
  13.          org   256                     ; start of COM file
  14. ;
  15. go:      jmp   dafem                   ; jump around msg
  16. ;
  17. ;  available memory message
  18. ;
  19. amm      db    13,10
  20.          db    '   ┌────────────────────────────────────┐'
  21.          db    13,10
  22. mnm      db    '   │ maximum normal memory   -       kb │'
  23.          db    13,10
  24. nmf      db    '   │ normal memory free      -       kb │'
  25.          db    13,10
  26. mem      db    '   │ maximum extended memory -       kb │'
  27.          db    13,10
  28. aemp     db    '   │ available EMS memory    -       kb │'
  29.          db    13,10
  30.          db    '   └────────────────────────────────────┘'
  31.          db    13,10,'$'
  32. ;
  33. dafem    proc  near
  34. ;
  35.          mov   ah,74                   ; modify memory alloc
  36. ;        mov   bx,crl                  ; calculate real length
  37.          int   33                      ; DOS call
  38. ;
  39.          mov   ah,74                   ; modify mem alloc
  40.          mov   bx,65535                ; give me all memory
  41.          int   33                      ; DOS call
  42.          mov   ax,bx                   ; save paragraph value
  43. ;
  44.          xor   dx,dx                   ; clear hi reg
  45.          mov   cx,64                   ; set div value
  46.          div   cx                      ; convert to kb
  47. ;
  48.          mov   bx,3                    ; len of dest
  49.          lea   si,nmf+dv+1             ; ptr to dest
  50.          call  cbwtas                  ; convert
  51. ;
  52. ;   get-format normal / extended memory
  53. ;
  54.          int   18                      ; normal memory
  55. ;
  56.          mov   bx,3                    ; len of dest
  57.          lea   si,mnm+dv+1             ; ptr to dest
  58.          call  cbwtas                  ; convert
  59. ;
  60.          mov   ah,136                  ; extended memory
  61.          int   21
  62. ;
  63.          mov   bx,4                    ; len of dest
  64.          lea   si,mem+dv               ; ptr to dest
  65.          call  cbwtas
  66. ;
  67.          mov   ah,66                   ; expanded memory pages
  68.          int   103                     ; int 67h
  69. ;
  70.          mov   ax,bx                   ; save result
  71. ;
  72.          shl   ax,1
  73.          shl   ax,1
  74.          shl   ax,1
  75.          shl   ax,1
  76. ;
  77.          mov   bx,5                    ; len of dest
  78.          lea   si,aemp+dv-1            ; ptr to dest
  79.          call  cbwtas
  80. ;
  81.          lea   dx,amm                  ; point to msg
  82.          mov   ah,9                    ; print string fct
  83.          int   33                      ; DOS call
  84. ;
  85.          mov   al,0                    ; set return code = 0
  86.          mov   ah,76                   ; exit
  87.          int   33                      ; DOS fct
  88. ;
  89. dafem     endp
  90. ;
  91.          include cbwtas.prc            ; convert binary word to ascii string
  92. ;
  93. eop      equ   $                       ; end of program
  94. ;
  95. code     ends
  96. ;
  97.          end   go
  98.